import ccxt
import numpy as np

# ===参数设定

# ===获取现有的币本位合约交易对
symbol_list = np.load('../data/current_quarter_symbol_list.npy', allow_pickle=True)
future_date = '230929'  # 当季合约日期


# 交易所规定的合约乘数(1张合约对应的USD价值)
def fetch_contact_size(symbol):
    return 100 if symbol == 'BTC' else 10


# 计划投入资金，需为100或10的倍数
def fetch_open_execute_value(symbol):
    return 100 if symbol == 'BTC' else 10


# todo 阈值按阶梯取值，并分批入金
r_open_threshold = -0.05  # 开仓利差阈值
r_close_threshold = 0.01  # 平仓利差阈值
spot_fee_rate = 1 / 1000  # 根据币安交易所规则，现货maker手续费
future_fee_rate = 1 / 10000  # 根据币安交易所规则，币本位合约maker手续费
price_slippage = 0.002  # 下单时的容错值

# =====交易所配置
# 如果使用代理 注意替换IP和Port
proxy = {
    "http": 'http://127.0.0.1:7890',
    "https": 'https://127.0.0.1:7890',
}
# 创建交易所
exchange = ccxt.binance({
    # mpharaoh666888账户
    'apiKey': "IWutqYrDM6PNgMDyaJMzq1SvEeZONxJkVIKe59rmEdafZ327GMXUmQDMC9zxO8G9",
    'secret': "NmzBMlndNRyJfsXj8YjnXeuDYDqk1WYZUkDK38U3FOzYih8ZZnTmC5LzsX724Pq5",
    'timeout': 30000,
    'rateLimit': 10,
    'enableRateLimit': False,
    'options': {
        'adjustForTimeDifference': True,
        'recvWindow': 10000,
    },
    # 'proxies': proxy
})

# 订单对照表
binance_order_type = {
    '买入': 'BUY',
    '平空': 'BUY',
    '卖出': 'SELL',
    '开空': 'SELL',
}
